﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыОперацийППИсходящее
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"c10ca7af-d54e-46ec-a6f6-a5c188e3f6d9\", \"Представление\":\"ОплатаПоставщику\"}")]
		ОплатаПоставщику = 0,//Оплата поставщику
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"d9bb8db7-6192-4d1e-a8af-7254645d5e4b\", \"Представление\":\"ВозвратДенежныхСредствПокупателю\"}")]
		ВозвратДенежныхСредствПокупателю = 1,//Возврат денежных средств покупателю
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"c65e64bb-17e5-4650-b4f5-908c1eda2d74\", \"Представление\":\"ПеречислениеНалога\"}")]
		ПеречислениеНалога = 2,//Перечисление налога
		[EnumMember(Value = "{\"Ссылка\":\"c6719f23-40d3-4070-bb34-c023529b20ea\", \"Представление\":\"РасчетыПоКредитамИЗаймамСКонтрагентами\"}")]
		РасчетыПоКредитамИЗаймамСКонтрагентами = 3,//Расчеты по кредитам и займам с контрагентами
		[EnumMember(Value = "{\"Ссылка\":\"914d183e-d5a4-4bb7-ac0f-f4c8abccf04c\", \"Представление\":\"ПрочиеРасчетыСКонтрагентами\"}")]
		ПрочиеРасчетыСКонтрагентами = 4,//Прочие расчеты с контрагентами
		[EnumMember(Value = "{\"Ссылка\":\"25c1c049-7797-4b20-9920-97b85a04ac3f\", \"Представление\":\"ПереводНаДругойСчет\"}")]
		ПереводНаДругойСчет = 5,//Перевод на другой счет
		[EnumMember(Value = "{\"Ссылка\":\"e721b075-75f0-47f8-8c60-fcff237efb3e\", \"Представление\":\"РасчетыПоКредитамИЗаймамСРаботниками\"}")]
		РасчетыПоКредитамИЗаймамСРаботниками = 6,//Расчеты по кредитам и займам с работниками
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"5c7c2e8b-88a7-43c9-8989-7924e0c1ab5d\", \"Представление\":\"ПеречислениеЗП\"}")]
		ПеречислениеЗП = 7,//Перечисление заработной платы
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"7d95fc69-6924-43e5-bc50-91cb70f065e9\", \"Представление\":\"ПеречислениеДенежныхСредствПодотчетнику\"}")]
		ПеречислениеДенежныхСредствПодотчетнику = 8,//Перечисление денежных средств подотчетнику
		[EnumMember(Value = "{\"Ссылка\":\"2fd54ee2-3359-4fc0-b42d-8cdf91794517\", \"Представление\":\"ПрочееСписаниеБезналичныхДенежныхСредств\"}")]
		ПрочееСписаниеБезналичныхДенежныхСредств = 9,//Прочее списание безналичных денежных средств
	}
	public static partial class ВидыОперацийППИсходящее_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ОплатаПоставщику = new Guid("c1a5f6a6-e388-d9f6-46ec-d54ec10ca7af");//Оплата поставщику
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВозвратДенежныхСредствПокупателю = new Guid("5472afa8-5d64-4b5e-4d1e-6192d9bb8db7");//Возврат денежных средств покупателю
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПеречислениеНалога = new Guid("8c90f5b4-da1e-742d-4650-17e5c65e64bb");//Перечисление налога
		public static readonly Guid РасчетыПоКредитамИЗаймамСКонтрагентами = new Guid("23c034bb-9b52-ea20-4070-40d3c6719f23");//Расчеты по кредитам и займам с контрагентами
		public static readonly Guid ПрочиеРасчетыСКонтрагентами = new Guid("c8f40fac-ccab-4cf0-4bb7-d5a4914d183e");//Прочие расчеты с контрагентами
		public static readonly Guid ПереводНаДругойСчет = new Guid("b8972099-045a-3fac-4b20-779725c1c049");//Перевод на другой счет
		public static readonly Guid РасчетыПоКредитамИЗаймамСРаботниками = new Guid("fffc608c-7e23-3efb-47f8-75f0e721b075");//Расчеты по кредитам и займам с работниками
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПеречислениеЗП = new Guid("24798989-c1e0-5dab-43c9-88a75c7c2e8b");//Перечисление заработной платы
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПеречислениеДенежныхСредствПодотчетнику = new Guid("cb9150bc-f070-e965-43e5-69247d95fc69");//Перечисление денежных средств подотчетнику
		public static readonly Guid ПрочееСписаниеБезналичныхДенежныхСредств = new Guid("df8c2db4-7991-1745-4fc0-33592fd54ee2");//Прочее списание безналичных денежных средств
		public static ВидыОперацийППИсходящее Получить(this ВидыОперацийППИсходящее Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОперацийППИсходящее Получить(this ВидыОперацийППИсходящее Значение, Guid Ссылка)
		{
			if(Ссылка == ОплатаПоставщику)
			{
				return ВидыОперацийППИсходящее.ОплатаПоставщику;
			}
			else if(Ссылка == ВозвратДенежныхСредствПокупателю)
			{
				return ВидыОперацийППИсходящее.ВозвратДенежныхСредствПокупателю;
			}
			else if(Ссылка == ПеречислениеНалога)
			{
				return ВидыОперацийППИсходящее.ПеречислениеНалога;
			}
			else if(Ссылка == РасчетыПоКредитамИЗаймамСКонтрагентами)
			{
				return ВидыОперацийППИсходящее.РасчетыПоКредитамИЗаймамСКонтрагентами;
			}
			else if(Ссылка == ПрочиеРасчетыСКонтрагентами)
			{
				return ВидыОперацийППИсходящее.ПрочиеРасчетыСКонтрагентами;
			}
			else if(Ссылка == ПереводНаДругойСчет)
			{
				return ВидыОперацийППИсходящее.ПереводНаДругойСчет;
			}
			else if(Ссылка == РасчетыПоКредитамИЗаймамСРаботниками)
			{
				return ВидыОперацийППИсходящее.РасчетыПоКредитамИЗаймамСРаботниками;
			}
			else if(Ссылка == ПеречислениеЗП)
			{
				return ВидыОперацийППИсходящее.ПеречислениеЗП;
			}
			else if(Ссылка == ПеречислениеДенежныхСредствПодотчетнику)
			{
				return ВидыОперацийППИсходящее.ПеречислениеДенежныхСредствПодотчетнику;
			}
			else if(Ссылка == ПрочееСписаниеБезналичныхДенежныхСредств)
			{
				return ВидыОперацийППИсходящее.ПрочееСписаниеБезналичныхДенежныхСредств;
			}
			return ВидыОперацийППИсходящее.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОперацийППИсходящее Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОперацийППИсходящее Значение)
		{
			switch (Значение)
			{
				case ВидыОперацийППИсходящее.ОплатаПоставщику: return ОплатаПоставщику;
				case ВидыОперацийППИсходящее.ВозвратДенежныхСредствПокупателю: return ВозвратДенежныхСредствПокупателю;
				case ВидыОперацийППИсходящее.ПеречислениеНалога: return ПеречислениеНалога;
				case ВидыОперацийППИсходящее.РасчетыПоКредитамИЗаймамСКонтрагентами: return РасчетыПоКредитамИЗаймамСКонтрагентами;
				case ВидыОперацийППИсходящее.ПрочиеРасчетыСКонтрагентами: return ПрочиеРасчетыСКонтрагентами;
				case ВидыОперацийППИсходящее.ПереводНаДругойСчет: return ПереводНаДругойСчет;
				case ВидыОперацийППИсходящее.РасчетыПоКредитамИЗаймамСРаботниками: return РасчетыПоКредитамИЗаймамСРаботниками;
				case ВидыОперацийППИсходящее.ПеречислениеЗП: return ПеречислениеЗП;
				case ВидыОперацийППИсходящее.ПеречислениеДенежныхСредствПодотчетнику: return ПеречислениеДенежныхСредствПодотчетнику;
				case ВидыОперацийППИсходящее.ПрочееСписаниеБезналичныхДенежныхСредств: return ПрочееСписаниеБезналичныхДенежныхСредств;
			}
			return Guid.Empty;
		}
	}
}